﻿//using System;
//using System.Collections.Generic;
//using UnityEngine;

//namespace Core.Experiment
//{
//    public class TileMap : TileCell
//    {
//        public static Vector2Int MaxSize = new Vector2Int(500, 500);

//        public static Node[,] Grids = new Node[MaxSize.x, MaxSize.y];

//        public List<TileCell> tiles = new();

//        public override void Start()
//        {
//            if (Size.x > MaxSize.x || Size.y > MaxSize.y)
//            {
//                throw new Exception($"Error地图的最大尺寸为500*500，当前尺寸为{Size.x}*{Size.y},超出限制！！！");
//            }

//            base.Start();
//            Adjust(Size);

//            for (int i = 0; i < MaxSize.x; i++)
//            {
//                for (int j = 0; j < MaxSize.x; j++)
//                {
//                    var n = new Node();
//                    n.x = i;
//                    n.z = j;
//                    n.isWalkable = i < Size.x && j < Size.y;

//                    var pos1 = new Vector2Int(i, j);
//                    pos1 += new Vector2Int(-Size.x / 2, -Size.y / 2);
//                    var pos2 = new Vector3(pos1.x, 0, pos1.y);

//                    pos2 += new Vector3(0.5f, 0, 0.5f);
//                    n.Pos = pos2;

//                    Grids[i, j] = n;
//                }
//            }

//            //if (Game.path != null)
//            //{
//            //    Game.path.map = this;
//            //}
//        }

//        public void Push(TileCell cell)
//        {
//            if (cell is TileMap)
//            {
//                return;
//            }
//            tiles.Add(cell);

//            cell.Adjust(Size);

//            var corner_0 = cell.Corners[0];
//            var size = cell.Size;
//            for (int i = 0; i < size.x; i++)
//            {
//                for (int j = 0; j < size.y; j++)
//                {
//                    var pos = corner_0 + new Vector2Int(i, j);
//                    if (pos.x < 0 || pos.x >= Size.x ||
//                        pos.y < 0 || pos.y >= Size.y)
//                    {
//                        continue;
//                    }
//                    Grids[pos.x, pos.y].isWalkable = false;
//                    Debug.Log(pos);
//                }
//            }
//        }
//    }
//}
